package classes;

import java.util.Scanner;

public class Narrativa {

    static String[] deserto = new String[3];
    static String[] charcoNorte = new String[4];
    static String[] charcoSul = new String[4];
    static String charco[] = new String[4];
    static String escolha;
    // objeto do tipo Scanner para interações com o usuário.
    static Scanner teclado = new Scanner(System.in);
    // Criação do Personagem
    static Personagem Mensageiro = new Personagem();
    // Momento em que é criado os recursos 
    static Recurso Mapa = new Recurso();
    static Recurso Cantil = new Recurso();
    static Recurso Adaga = new Recurso();
    // Momento em que é criado os Cenarios.
    static Cenario Fronteira = new Cenario();
    static Cenario Deserto = new Cenario();
    static Cenario Charco = new Cenario();
    static Cenario CharcoNorte = new Cenario();
    static Cenario CharcoSul = new Cenario();
    static Cenario SedeAlegrete = new Cenario();

    public static void main(String[] args) {

        fronteira();

        if (escolha.equals("1")) {
            deserto();
        } else {
            charco();
        }
        sedeAlegrete();
    }

    // Método que verifica se o caracter digitado corresponde a opção dada
    public static String testaEscolha1Opcao(Scanner teclado, String escolha) {
        while (escolha.equals("1") == false) {
            System.out.println("Caractér inválido!! Tente novamente: ");
            String escolha2 = teclado.next();
            escolha = escolha2;
        }
        return escolha;
    }

    // Metodo que verifica se o caracter digitado corresponde as duas opções oferecidas
    public static String testaEscolha2Opcoes(Scanner teclado, String escolha) {

        while (!(escolha.equals("1")) && !(escolha.equals("2"))) {
            System.out.println("Caractere inválido!! Tente novamente: ");
            String escolha2 = teclado.next();
            escolha = escolha2;
        }
        return escolha;
    }

    // Método que inicia o jogo
    public static void fronteira() {

        Mensageiro.obterRecurso(Mapa);
        Mapa.setNome("Mapa");
        Mensageiro.obterRecurso(Cantil);
        Cantil.setNome("Cantil");
        Mensageiro.obterRecurso(Adaga);
        Adaga.setNome("Adaga");
        Fronteira.fronteira();

        // Metodo que printa a introdução na tela
        System.out.println("Bem vindo ao RPG Aventura Solo : \n'Aventura Loca de Especial do Mensageiro Bagual!'\n");
        System.out.println("Na época da Revolução Farroupilha, estava ocorrendo no presente momento um conflito chamado Guerra dos Farrapos. Nesse contexto, a cidade de Alegrete foi um ponto estratégico para \na revolução, o que tornou o perímetro da cidade muito bem guardado, pois além de sua importância a cidade abrigava o General Bento Gonçalves, líder da revolução e presidente da \nrepública. Os líderes da revolução tinham a grande necessidade de se comunicar durante o conflito e o encarregado por essa importante missão de comunicação era o Mensageiro. Ele \nera caracterizado por ser um homem leve para que cansasse menos o cavalo, um excelente cavaleiro, tinha grandes conhecimentos de cartografia e uma perspicaz habilidade de previsão \ndo tempo, sempre carregava consigo um mapa, um cantil de água e uma adaga\n");
        System.out.println("Tecle '1' para exibir qual será sua Missão: ");
        escolha = teclado.next();
        escolha = testaEscolha1Opcao(teclado, escolha);

        // printa na tela a missão
        System.out.println("\nEm determinado momento do conflito, um Mensageiro situado na fronteira leste de Alegrete foi encarregado de entregar uma importante mensagem ao General Bento Gonçalves, o qual se \nencontrava na sede do município. Este Mensageiro será VOCÊ!! Devido à importância da mensagem, varias tropas inimigas do General estavam fechando as vias rápidas de acesso a cidade, \ntentando assim evitar a entrega do documento. Sendo assim, a sua única opção era seguir por caminhos alternativos para chegar a seu destino, e tomar varias precauções. Sua jornada\ndeveria ser a pé, pois se usar um cavalo chamará muita atenção para si, e sempre à noite para que passe despercebido.  Tendo posse de seu pouco suprimento de água, mapa, adaga e a \nmensagem a ser entregue, sua jornada começa!\n");
        Mensageiro.mensageiro();
        System.out.println("\nTendo em vista que o caminho mais curto até o General esta inacessível, você decide consultar seu Mapa para traçar uma rota até seu destino");

        System.out.println("Tecle '1' para consultar seu Mapa: ");
        escolha = teclado.next();
        testaEscolha1Opcao(teclado, escolha);
        Mensageiro.consultarMapa(Mapa, Mensageiro, Fronteira);

        System.out.println("Tecle '1' se deseja seguir pela Estrada do Deserto  \nTecle '2' para seguir pela Estrada do Charco ");
        escolha = teclado.next();
        deserto[0] = "Você optou pela estrada do Deserto.";
        charco[0] = "Você optou pela estrada do Charco";

        escolha = testaEscolha2Opcoes(teclado, escolha);
        Mensageiro.tomarDecisao(escolha, deserto[0], charco[0]);

    }

    public static void deserto() {

        Deserto.deserto();
        System.out.println("Seguindo em frente antes de chegar ao Deserto, você visualiza um poço, algo incomum já que se localiza em um lugar tão seco e árido, mesmo ainda com uma quantidade razoável de \nágua, você decide verificar o poço\n ");
        System.out.println("Tecle '1' para verificar o poço: ");
        escolha = teclado.next();
        testaEscolha1Opcao(teclado, escolha);

        System.out.println("\nApós uma breve análise você percebe que há um pouco de água no poço, mas bem no fundo do mesmo. Seria necessário bombear a água para utilizá-la... \n");

        // Momento em que é criado o Recurso Cantil Extra
        Recurso CantilExtra = new Recurso();
        String testaCantilExtra; // variavel que armazena a informação sobre o cantil

        System.out.println("Se você deseja bombear a água para obter um cantil extra tecle '1'\nSe você não quer perder seu tempo precioso neste poço, e procurar outro em melhores condiçoes tecle '2'.");
        escolha = teclado.next();
        testaCantilExtra = testaEscolha2Opcoes(teclado, escolha);

        if (testaCantilExtra.equals("1")) {
            Mensageiro.obterRecurso(CantilExtra);
        }

        deserto[1] = "Depois de muito tempo bombeando você obtém de mais um tanto de água, e segue sua jornada em direção ao Deserto";
        deserto[2] = "Optando por não perder tempo no poço e confiante que encontrará outros em seu caminho, você segue sua jornada em direção ao Deserto";
        Mensageiro.tomarDecisao(escolha, deserto[1], deserto[2]);

        System.out.println("Após mais um longo período de caminhada, você se depara novamente com um poço e logo adiante a Estrada do Deserto\n");
        System.out.println("Para verificar este poço tecle '1'.");
        escolha = teclado.next();
        testaEscolha1Opcao(teclado, escolha);

        System.out.println("\nVerificando o poço você percebe que o mesmo está totalmente inutilizável e seco. Mesmo assim você deve seguir adiante em sua jornada");
        System.out.println("Tecle '1' para entrar no Deserto");
        escolha = teclado.next();
        testaEscolha1Opcao(teclado, escolha);

        System.out.println("\nFinalmente você adentra no Deserto \nEstrada do Deserto \n" + Deserto.getDescricao());
        System.out.println("Tecle '1' para continuar. ");
        escolha = teclado.next();
        testaEscolha1Opcao(teclado, escolha);

        System.out.println("\nDepois de algumas horas seguindo pelo longo e cansativo Deserto, quase já amanhecendo o mensageiro avista à longe um bando de guardas inimigos vindo em sua direção, aparentemente \nnão lhe viram e parecem estar só de passagem\n");
        System.out.println("Tecle '1' para tentar passar despercebido pelos guardas e não perder tempo, já que tem apenas alguns minutos para se esconder e aguardar até o anoitecer \nTecle '2' para se esconder e esperar cautelosamente os guardas passarem, e assim poder prosseguir");
        escolha = teclado.next();
        escolha = testaEscolha2Opcoes(teclado, escolha);
        deserto[1] = "Não podendo perder tempo, você começa a passar pelos guardas disfarçadamente, aproveitando que os mesmos parecem distraídos conversando e gargalhando. Porém, quando passa \npelo ultimo guarda, que aparentava ser jovem e atento, ele grita e lhe pede para parar";
        deserto[2] = "Sabiamente, voce espera os guardas passarem não sendo detectado";
        Mensageiro.tomarDecisao(escolha, deserto[1], deserto[2]);

        if (escolha.equals("1")) {
            System.out.println("\nTecle '1' para fugir do guarda e evitar que lhe identifique como um mensageiro \nTecle '2' para obedecer ao guarda e falar com ele");
            escolha = teclado.next();
            escolha = testaEscolha2Opcoes(teclado, escolha);
            deserto[1] = "Ao fugir, os demais guardas também entram em estado de alerta e imediatamente atiram em você, acertando-o e lhe fazendo morrer ali mesmo";
            deserto[2] = "Friamente você opta por obedecer ao chamado do guarda e para de caminhar. O jovem guarda então vem em sua direção e pede para que você mostre o que carrega consigo";
            Mensageiro.tomarDecisao(escolha, deserto[1], deserto[2]);

            if (escolha.equals("2")) {
                System.out.println("\nTecle '1' se você quer mostrar seus recursos ao guarda \nTecle '2' se você se recusa a mostrar seus recursos a ele");
                escolha = teclado.next();
                escolha = testaEscolha2Opcoes(teclado, escolha);
                deserto[1] = "Você mostra ao guarda seus recursos, exceto a mensagem é claro. Só que ao contrario do esperado, o guarda estava atento e percebeu que voce estava escondendo algo, então tentou \nlhe arrancar, você reage agredindo o guarda foi então que ele sacou sua espada e cortou no fundo de seu peito causando-lhe a morte";
                deserto[2] = "Recusando a mostrar seus pertences ao guarda, você é encarado como inimigo, então o guarda saca sua espada , logo os demais guardas tomam conhecimento da situação e \npartem ao ataque contra você que é pego por eles e morto";
                Mensageiro.tomarDecisao(escolha, deserto[1], deserto[2]);
                System.exit(0);              
            }else{
                System.exit(0);
            }
        } else {

            System.out.println("Seu primeiro dia de jornada está quase acabando, antes do sol aparecer, ele encontra um lugar seguro e se esconde, onde descansa até a noite chegar\n");
            Deserto.setPosicao(2.1f);
            System.out.println("Tecle '1' para continuar");
            escolha = teclado.next();
            testaEscolha1Opcao(teclado, escolha);

            System.out.println("\nA noite mal começa e você já sai de seu esconderijo e prossegue novamente com sua jornada, caminha varias e varias horas até estar completamente esgotado e já apresentando \nsinais de desidratação\n");
            System.out.println("Tecle '1' para utilizar o cantil de água");
            escolha = teclado.next();
            testaEscolha1Opcao(teclado, escolha);
            Mensageiro.utilizarRecurso(Cantil);

            System.out.println("\nVoce utiliza seu cantil cheio de água restabelecendo suas forças e assim podendo continuar. Ele prossegue até a lua ainda estar no céu, quando o sol já começa a aparecer \nencontra um esconderijo e descansa até o próximo anoitecer\n");
            Deserto.setPosicao(2.2f);

            System.out.println("Tecle '1' para continuar");
            escolha = teclado.next();
            testaEscolha1Opcao(teclado, escolha);
            System.out.println("\nAo terceiro dia de jornada o mensageiro já sente os efeitos da longa e dura jornada, mas continua firme e quando a noite cai já começa sua caminhada. Após caminhar um pouco, o \nmensageiro decide verificar o mapa, para ter conhecimento de onde se localiza\n");
            Deserto.setPosicao(2.3f);

            System.out.println("Tecle '1' para consultar o mapa");
            escolha = teclado.next();
            testaEscolha1Opcao(teclado, escolha);
            Mensageiro.consultarMapa(Mapa, Mensageiro, Deserto);
            Deserto.setPosicao(2.4f);

            System.out.println("Sabendo disso decide andar menos está noite para poder se recuperar completamente e sair logo do deserto. Ele caminha mais algumas horas e já se esconde para descansar\n");

            System.out.println("Tecle '1' para continuar");
            escolha = teclado.next();
            testaEscolha1Opcao(teclado, escolha);

            System.out.println("\nQuase já terminando seu percurso, agora bem recuperado só espera a noite chegar e parte rapidamente em caminhada. Logo que sai do esconderijo se depara com um terreno diferente na \nestrada, e outro pequeno caminho ao lado. Ele então decide novamente verificar o mapa\n");

            System.out.println("Tecle '1' para consultar o mapa");
            escolha = teclado.next();
            testaEscolha1Opcao(teclado, escolha);
            Mensageiro.consultarMapa(Mapa, Mensageiro, Deserto);
            Deserto.setPosicao(2.5f);

            System.out.println("\nTecle 1 para seguir pelo caminho mais rápido, passando por este terreno estranho \nTecle 2 para optar pelo caminho ao lado, que levará no mínimo 1 dia até a saída do deserto ");
            escolha = teclado.next();
            escolha = testaEscolha2Opcoes(teclado, escolha);
            deserto[1] = "Optando pela estrada mais rápida o mensageiro segue em frente. Ao pisar naquele estranho terreno seu pé começa a afundar, ele então tenta sair dali, mas de nada isso adianta pois \nmetade de seu corpo já esta submerso, quanto mais se meche mais afunda e em total desespero acaba afundando completamente e morre";
            deserto[2] = "Não querendo correr os riscos de passar por aquele estranho terreno, o mensageiro opta por seguir o caminho mais longo";
            Mensageiro.tomarDecisao(escolha, deserto[1], deserto[2]);

            if (escolha.equals("2")) {
                System.out.println("Tecle '1' para continuar");
                escolha = teclado.next();
                testaEscolha1Opcao(teclado, escolha);

                System.out.println("\nApós horas de caminhada o sol já está quase nascendo e como de costume você encontra um esconderijo para descansar, chegando ao fim do seu quarto dia de jornada pelo \ndeserto");
                Deserto.setPosicao(2.6f);

                System.out.println("Tecle '1' para continuar");
                escolha = teclado.next();
                testaEscolha1Opcao(teclado, escolha);

                System.out.println("\nPronto para finalmente atravessar o deserto, você começa sua caminha noturna. O caminho parece bem seguro e ele caminha tranquilamente por horas, até que o cansaço e a sede \nlhe visitam novamente, quase no fim, você precisa imediatamente utilizar de seu cantil extra de água\n");
                Deserto.desafioCantilExtra();
                System.out.println("" + Deserto.getDesafioDescricao());

                escolha = teclado.next();
                escolha = testaEscolha2Opcoes(teclado, escolha);
                deserto[1] = "\nGraças ao cantil extra cheio de água que você possuia, você renova suas forças e segue em frente. Não fazendo outra coisa a não ser caminhar e caminhar, depois de incontáveis horas \nfinalmente você chega ao final do deserto e avista a sede de Alegrete";
                deserto[2] = "\nPara sua desgraça você nao possui o cantil extra, isso significa sem água alguma. Contudo você não resiste e morre de desidratado, esté é o fim de sua jornada";

                escolha = Deserto.enfrentarDesafio(escolha, CantilExtra, deserto[1], deserto[2], teclado);
                System.out.println(escolha);
                if (escolha.equals("1")) {
                } else {
                    System.exit(0);
                }
            }else{
                System.exit(0);
            }
        }
    }

    public static void charco() {

        Charco.charco();
        System.out.println("\nEstrada do Charco\n" + Charco.getDescricao());
        System.out.println("Tecle '1' para continuar: ");
        escolha = teclado.next();
        testaEscolha1Opcao(teclado, escolha);

        System.out.println("\nSeguindo por esta estrada você se depara com duas bifurcações no caminho, surpreso decide consultar seu mapa");
        System.out.println("Tecle '1' para consultar o mapa");
        escolha = teclado.next();
        testaEscolha1Opcao(teclado, escolha);
        Mensageiro.consultarMapa(Mapa, Mensageiro, Charco);

        System.out.println("Tomando conhecimentos dessas informações você conclui que precisará de sua habilidade de prever o tempo\n");
        System.out.println("Tecle '1' para utilizar a habilidade: ");
        escolha = teclado.next();
        testaEscolha1Opcao(teclado, escolha);

        charco[1] = "\nAnalisando  o ambiente, os ventos e a umidade, você preve que o tempo estará Seco";
        charco[2] = "\nAnalisando  o ambiente, os ventos e a umidade, você preve que o tempo estará Chuvoso";
        charco[3] = Mensageiro.preverTempo(Mensageiro, charco[1], charco[2]);
        System.out.println(charco[3]);

        // teste para saber qual foi o primeiro resultado do sorteio.
        String sol = "";
        sol = Mensageiro.resultPrevisaoSol(charco[3], charco[1], sol);
        String chuva = "";
        chuva = Mensageiro.resultPrevisaoChuva(charco[3], charco[2], chuva);

        System.out.println("Tendo em mente a previsão, qual caminho você deseja trilhar:\n");
        System.out.println("Tecle '1' para o Norte.\nTecle '2' para o Sul: ");
        escolha = teclado.next();
        escolha = testaEscolha2Opcoes(teclado, escolha);
        String norteSul;
        norteSul = escolha;

        //------------ Caso ele decida ir pelo Norte codigo dentro do IF ------------
        if (escolha.equals("1")) {
            CharcoNorte.charcoNorte();
            System.out.println("\nVocê optou por seguir ao Norte\n");
            System.out.println("Continuando sua jornada você chega a um certo ponto crítico do caminho onde deve verificar se sua previsão estava correta");
            System.out.println("Tecle '1' para verificar a previsao: ");
            escolha = teclado.next();
            testaEscolha1Opcao(teclado, escolha);

            charcoNorte[2] = Charco.clima(charco[1], charco[2]);
            Charco.verificaPrevisão(charcoNorte[2], sol, chuva, norteSul, charco[1], charco[2]);
            System.out.println("Depois de caminhar algumas horas, está quase amanhecendo, e o você precisa encontrar um lugar para se esconder até a noite chegar novamente. Por sorte ele avista uma caverna\n");
            Charco.setPosicao(4.1f);

            System.out.println("Tecle '1' se deseja entrar na caverna \nTecle '2' se deseja verificar a caverna");
            escolha = teclado.next();
            escolha = testaEscolha2Opcoes(teclado, escolha);

            charcoNorte[1] = "Com pressa e também muito cansado, você entra imediatamente na caverna, querendo logo poder descansar, porém não nota que muitas cobras habitam esta caverna e é picado por \numa delas. Sem saber como lidar com envenenamento você acaba falecendo\n";
            charcoNorte[2] = "Sempre cauteloso você verifica as condições da caverna e se é seguro permanecer ali. Enquanto vasculhava o local, você encontra um ninho de cobras\n";
            Mensageiro.tomarDecisao(escolha, charcoNorte[1], charcoNorte[2]);

            if (escolha.equals("2")) {
                System.out.println("Tecle '1' para matá-las \nTecle '2' para apenas ignorar, já que aparentemente são inofensivas");
                escolha = teclado.next();
                escolha = testaEscolha2Opcoes(teclado, escolha);

                charcoNorte[1] = "Para evitar problemas você acaba com o ninho das cobras, e assim pode descansar tranquilamente até anoitecer";
                charcoNorte[2] = "Voce opta por ignorar o ninho e vai repousar, quando derrepente sente uma dor intensa na perna... Era uma das cobras do ninho, quase que imediatamente voce começa a \nficar tonto e desmaia. Devido ao veneno voce acaba morrendo";
                Mensageiro.tomarDecisao(escolha, charcoNorte[1], charcoNorte[2]);

                if (escolha.equals("1")) {
                    System.out.println("Ao fim de seu primeiro dia de jornada na estrada do charco, você se abriga na caverna e espera até a noite chegar\n");
                    Deserto.setPosicao(4.2f);

                    System.out.println("Tecle '1' para continuar");
                    escolha = teclado.next();
                    testaEscolha1Opcao(teclado, escolha);

                    System.out.println("\nLogo que anoitece você se despede da caverna e segue sua jornada, caminha por um longo tempo até ver o que parece ser à saída do caminho. Ao se aproximar, confirma que é \nrealmente a saída, porém para chegar lá ele terá que atravessar um enorme poço que está entre ele e a saída\n");
                    System.out.println("Tecle '1' para pular o poço \nTecle '2' para procurar ao redor algum instrumento útil");
                    Recurso madeira = new Recurso();

                    escolha = teclado.next();
                    testaEscolha2Opcoes(teclado, escolha);

                    charcoNorte[1] = "Decidido a pular o poço, você toma impulso e salta o maximo que pode... Porem não é o suficiente e de forma lastimável acaba caindo no poço e morrendo";
                    charcoNorte[2] = "Procurando ao redor você encontra um pedaço de madeira grande";
                    Mensageiro.tomarDecisao(escolha, charcoNorte[1], charcoNorte[2]);

                    if (escolha.equals("2")) {

                        System.out.println("Tecle '1' para pega-lo");
                        Mensageiro.obterRecurso(madeira);

                        escolha = teclado.next();
                        testaEscolha1Opcao(teclado, escolha);

                        CharcoNorte.desafioMadeira();
                        System.out.println(CharcoNorte.getDesafioDescricao());

                        escolha = teclado.next();
                        escolha = testaEscolha2Opcoes(teclado, escolha);

                        if (escolha.equals("1")) {
                            System.out.println("\nNão confiando naquilo para lhe sustentar você decide tentar pular, porem não pega o impulso adequado e acaba caindo no poço e morrendo\n");
                            System.exit(0);
                        } else {
                            madeira.utilizarRecurso(madeira);
                            System.out.println("\nCom o auxilio do pedaço de madeira sobre o poço, você consegue atravessá-lo, chegando finalmente ao fim da estrada do charco");
                            System.out.println("Após terminar sua longa jornada pelo Charco você finalmente alcança a sede de Alegrete.");
                        }
                    }else {
                        System.exit(0);
                    }
                }else{
                 System.exit(0);
            }
            }else{
                System.exit(0);
            }
        } // ------------------------------ Caso decida ir pelo Sul codigo dentro do ELSE ---------------------------------------
        else {
            CharcoSul.charcoSul();
            System.out.println("\nVocê optou por seguir ao Sul\nContinuando sua jornada você chega a um certo ponto crítico do caminho onde deve verificar se sua previsão estava correta\n");
            System.out.println("Tecle '1' para verificar a previsao: ");
            escolha = teclado.next();
            testaEscolha1Opcao(teclado, escolha);

            charcoSul[2] = Charco.clima(charco[1], charco[2]);
            Charco.verificaPrevisão(charcoSul[2], sol, chuva, norteSul, charco[1], charco[2]);

            System.out.println("Tecle '1' para continuar: ");
            escolha = teclado.next();
            testaEscolha1Opcao(teclado, escolha);

            System.out.println("\nSeguindo seu caminho pela calada da noite, você tropeça em alguma coisa e cai. Após se levantar você decide verificar do que se trata\n");
            System.out.println("Tecle '1' para verificar: ");
            escolha = teclado.next();
            testaEscolha1Opcao(teclado, escolha);

            System.out.println("\nAnalisando o objeto você percebe que se trata de um Remo\n");
            System.out.println("Se deseja levá-lo consigo julgando que o mesmo sera util tecle '1'.\nCaso deseja ignorá-lo e seguir adiante tecle '2'");
            escolha = teclado.next();

            String testaRemo;
            testaRemo = testaEscolha2Opcoes(teclado, escolha);

            charcoSul[1] = "Você optou por adquir o remo. ";
            charcoSul[2] = "Você optou por ignonar o remo. ";
            Mensageiro.tomarDecisao(escolha, charcoSul[1], charcoSul[2]);

            System.out.println("Tecle '1' para continuar: ");
            escolha = teclado.next();
            testaEscolha1Opcao(teclado, escolha);

            Recurso Remo = new Recurso();
            if (testaRemo.equals("1")) {
                Remo.obterRecurso(Remo);
            }

            System.out.println("\nDepois de caminhar por algum tempo, você chega até um rio, onde encontra atracada uma pequena canoa\n");
            System.out.println("Tecle '1' para verificar: ");
            escolha = teclado.next();
            testaEscolha1Opcao(teclado, escolha);

            System.out.println("\nA canoa parece estar em péssimo estado, feita de madeira, já está toda desgastada mas parece ainda ser possível utilizá-la, porém devido a correnteza é necessário possuir um remo \npara manuzea-la\n");
            CharcoSul.desafioCanoa();
            System.out.println("" + CharcoSul.getDesafioDescricao());
            escolha = teclado.next();
            escolha = testaEscolha2Opcoes(teclado, escolha);

            charcoSul[1] = "\nVocê optou por utilizar a canoa para prosseguir no rio. Ao decorrer do rio você percebe que fez a escolha correta, já que nele havia vários animais hostis, como piranhas e \ncrocodilos. Com a velocidade da correnteza e o auxílio do remo, você não demora muitas horas e já consegue sair do charco";
            charcoSul[2] = "\nVocê optou por prosseguir a nado pelo rio. Conforme continuava nadando, voce percebe movimentos estranhos na água, e a correnteza cada vez mais rápida. A água do rio era escura e \nsuja, e como era noite, não era possível enxergar quase nada, o pouco que se podia ver decorria de luz lunar. Voce estava cada vez mais preocupado e com receio de estar ali, se \nsentia vulnerável, nadava cada vez mais rápido querendo sair logo do rio, sentia que não estava sozinho, até que surpreendentemente é puxado bruscamente pela perna, e some na água";
            charcoSul[3] = Charco.enfrentarDesafio(escolha, Remo, charcoSul[1], charcoSul[2], teclado);

            // Se optou usar a Canoa vai no if
            if (charcoSul[3].equals(charcoSul[1])) {

                System.out.println(charcoSul[3]);
                Remo.utilizarRecurso(Remo);

                System.out.println("\nApós terminar sua longa jornada pelo Charco você finalmente alcança a sede de Alegrete.");
            } // Caso optou ir a nado vai no ELSE
            else {

                System.out.println(charcoSul[3]);
                System.exit(0);
            }
        }
    }

    public static void sedeAlegrete() {
        SedeAlegrete.sedeAlegrete();
        System.out.println("\nJá exausto depois de vencer tantos desafios, você ainda se mantém cauteloso e decide verificar se o caminho está limpo para prosseguir");
        System.out.println("\nTecle '1' para verificar: ");
        escolha = teclado.next();
        testaEscolha1Opcao(teclado, escolha);
        System.out.println("\nO caminho está livre então você segue adiante e entra na sede indo ao encontro do General. Após identificar-se ele lhe recebe  com entusiasmo "
                + "e gratidão pela entrega do documento e lhe\ndiz que o nome " + Mensageiro.getNome() + " jamais será esquecido, afinal realizou um grande feito. Sua missão finalmente chega ao fim! COM ÊXITO E GLÓRIA ...    \n");

    }
}
